package com.yanqu.road.entity.drugstore;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.DataStatus;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description 疑难杂症 培养记录
 * @Author cwq
 * @Data 2022/4/8 17:57
 */
@FieldTypeAnnotation(tableName = "t_u_drug_store_hardcase_record", desc = "药铺 疑难杂症记录")
public class DrugHardCaseRecordData extends DataObject {
    @FieldTypeAnnotation(desc = "玩家id",update = true, select = true)
    private long userId;
    @FieldTypeAnnotation(desc = "病例id",update = true, select = true)
    private int caseId;
    @FieldTypeAnnotation(desc = "初始健康值")
    private int initHealth;
    @FieldTypeAnnotation(desc = "最终健康值")
    private int finalHealth;
    @FieldTypeAnnotation(desc = "评分")
    private int score;
    @FieldTypeAnnotation(desc = "治疗后的健康状态")
    private int status;
    @FieldTypeAnnotation(desc = "药材")
    private List<DrugStoreHardCaseDispenseResultInfo> crudeDrugList = new ArrayList<>();
    @FieldTypeAnnotation(desc = "药引")
    private DrugStoreHardCaseDispenseResultInfo drugIntroductionInfo;
    @FieldTypeAnnotation(desc = "医嘱")
    private DrugStoreHardCaseDispenseResultInfo orderInfo;

    @FieldTypeAnnotation(desc = "时间 ms")
    private long time;

    /**
     * 计算健康值的余数 （放大100倍）
     */
    private int healthRemainNum = 0;

    /**
     * 计算分数的余数 （放大100倍）
     */
    private int scoreRemainNum = 0;

    public long getUserId() {
        return userId;
    }
    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setOp(DataStatus.Update);
        }
    }

    public int getCaseId() {
        return caseId;
    }
    public void setCaseId(int caseId) {
        if (this.caseId != caseId) {
            this.caseId = caseId;
            setOp(DataStatus.Update);
        }
    }

    public int getInitHealth() {
        return initHealth;
    }
    public void setInitHealth(int initHealth) {
        if (this.initHealth != initHealth) {
            this.initHealth = initHealth;
            setOp(DataStatus.Update);
        }
    }

    public int getFinalHealth() {
        return finalHealth;
    }
    public void setFinalHealth(int finalHealth) {
        if (this.finalHealth != finalHealth) {
            this.finalHealth = finalHealth;
            setOp(DataStatus.Update);
        }
    }

    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        if (this.score != score) {
            this.score = score;
            setOp(DataStatus.Update);
        }
    }

    public int getStatus() {
        return status;
    }
    public void setStatus(int status) {
        if (this.status != status) {
            this.status = status;
            setOp(DataStatus.Update);
        }
    }

    public java.util.List<com.yanqu.road.entity.drugstore.DrugStoreHardCaseDispenseResultInfo> getCrudeDrugList() {
        return crudeDrugList;
    }
    public void setCrudeDrugList(java.util.List<com.yanqu.road.entity.drugstore.DrugStoreHardCaseDispenseResultInfo> crudeDrugList) {
        if (null == crudeDrugList){
            return;
        }
        if (this.crudeDrugList == null || !this.crudeDrugList.equals(crudeDrugList)) {
            this.crudeDrugList = crudeDrugList;
            setOp(DataStatus.Update);
        }
    }

    public DrugStoreHardCaseDispenseResultInfo getDrugIntroductionInfo() {
        return drugIntroductionInfo;
    }
    public void setDrugIntroductionInfo(DrugStoreHardCaseDispenseResultInfo drugIntroductionInfo) {
        if (null == drugIntroductionInfo){
            return;
        }
        if (this.drugIntroductionInfo == null || !this.drugIntroductionInfo.equals(drugIntroductionInfo)) {
            this.drugIntroductionInfo = drugIntroductionInfo;
            setOp(DataStatus.Update);
        }
    }

    public DrugStoreHardCaseDispenseResultInfo getOrderInfo() {
        return orderInfo;
    }
    public void setOrderInfo(DrugStoreHardCaseDispenseResultInfo orderInfo) {
        if (null == orderInfo){
            return;
        }
        if (this.orderInfo == null || !this.orderInfo.equals(orderInfo)) {
            this.orderInfo = orderInfo;
            setOp(DataStatus.Update);
        }
    }

    public long getTime() {
        return time;
    }
    public void setTime(long time) {
        if (this.time != time) {
            this.time = time;
            setOp(DataStatus.Update);
        }
    }

    public int getHealthRemainNum() {
        return healthRemainNum;
    }

    public void setHealthRemainNum(int healthRemainNum) {
        this.healthRemainNum = healthRemainNum;
    }

    public int getScoreRemainNum() {
        return scoreRemainNum;
    }

    public void setScoreRemainNum(int scoreRemainNum) {
        this.scoreRemainNum = scoreRemainNum;
    }
}
